Completed
Pull Request — master (#215)
by Alejandro
15:03
created

DeleteServerButton.js ➔ render   A

Complexity

Conditions 1

Size

Total Lines 22
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 22
ccs 4
cts 4
cp 1
rs 9.4
c 0
b 0
f 0
cc 1
crap 1
1
import React, { useState } from 'react';
2
import { faMinusCircle as deleteIcon } from '@fortawesome/free-solid-svg-icons';
3
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
import PropTypes from 'prop-types';
5
import { serverType } from './prop-types';
6
7 1
const propTypes = {
8
  server: serverType,
9
  className: PropTypes.string,
10
};
11
12 1
const DeleteServerButton = (DeleteServerModal) => {
13 2
  const DeleteServerButtonComp = ({ server, className }) => {
14 3
    const [ isModalOpen, setModalOpen ] = useState(false);
15
16 3
    return (
17
      <React.Fragment>
18 1
        <span className={className} key="deleteServerBtn" onClick={() => setModalOpen(true)}>
19
          <FontAwesomeIcon icon={deleteIcon} />
20
          <span className="aside-menu__item-text">Remove this server</span>
21
        </span>
22
23
        <DeleteServerModal
24
          isOpen={isModalOpen}
25
          toggle={() => setModalOpen(!isModalOpen)}
26
          server={server}
27
          key="deleteServerModal"
28
        />
29
      </React.Fragment>
30
    );
31
  };
32
33 2
  DeleteServerButtonComp.propTypes = propTypes;
34
35 2
  return DeleteServerButtonComp;
36
};
37
38
export default DeleteServerButton;
39